package org.ikross.twitter.dataobject;

import java.awt.Color;
import java.net.URL;
import java.util.Date;

public class User {
	
	private long id;
	private String name;
	private String screen_name;
	private String description;
	private URL profileImageURL;
	private URL webpageURL;
	private boolean protectedUser;
	private long followersCount;
	private Color profileBackgroundColor;
	private Color profileTextColor;
	private Color profileLinkColor;
	private Color profileSidebarFillColor;
	private Color profileSidebarBorderColor;
	private long followingsCount;
	private Date createdAt;
	private boolean notifications;
	private long statusesCount;
	
	public User(long id, String name, String screen_name, String description,
			URL profileImageURL, URL webpageURL, boolean protectedUser,
			long followersCount, long followingsCount, boolean notifications,
			Color profileBackgroundColor, Color profileLinkColor,
			Color profileSidebarBorderColor, Color profileSidebarFillColor,
			Color profileTextColor, Date createdAt, long statusesCount) {

		this.id = id;
		this.name = name;
		this.screen_name = screen_name;
		this.description = description;
		this.profileImageURL = profileImageURL;
		this.webpageURL = webpageURL;
		this.protectedUser = protectedUser;
		this.followersCount = followersCount;
		this.followingsCount = followingsCount;
		this.notifications = notifications;
		this.profileBackgroundColor = profileBackgroundColor;
		this.profileLinkColor = profileLinkColor;
		this.profileSidebarBorderColor = profileSidebarBorderColor;
		this.profileSidebarFillColor = profileSidebarFillColor;
		this.profileTextColor = profileTextColor;
		this.createdAt = createdAt;
		this.statusesCount = statusesCount;
	}

	public User(long id, String name, String screen_name) {
		this.id = id;
		this.name = name;
		this.screen_name = screen_name;
		this.profileImageURL = null;
		this.webpageURL = null;
		this.protectedUser = false;
		this.followersCount = 0;
		this.followingsCount = 0;
		this.notifications = false;
		this.profileBackgroundColor = null;
		this.profileLinkColor = null;
		this.profileSidebarBorderColor = null;
		this.profileSidebarFillColor = null;
		this.profileTextColor = null;
		this.createdAt = null;
		this.statusesCount = 0;
	}

	/**
	 * @return the id
	 */
	public long getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(long id) {
		this.id = id;
	}

	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return the screen_name
	 */
	public String getScreen_name() {
		return screen_name;
	}

	/**
	 * @param screen_name the screen_name to set
	 */
	public void setScreen_name(String screen_name) {
		this.screen_name = screen_name;
	}

	/**
	 * @return the description
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * @param description the description to set
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * @return the profileImageURL
	 */
	public URL getProfileImageURL() {
		return profileImageURL;
	}

	/**
	 * @param profileImageURL the profileImageURL to set
	 */
	public void setProfileImageURL(URL profileImageURL) {
		this.profileImageURL = profileImageURL;
	}

	/**
	 * @return the webpageURL
	 */
	public URL getWebpageURL() {
		return webpageURL;
	}

	/**
	 * @param webpageURL the webpageURL to set
	 */
	public void setWebpageURL(URL webpageURL) {
		this.webpageURL = webpageURL;
	}

	/**
	 * @return the protectedUser
	 */
	public boolean isProtectedUser() {
		return protectedUser;
	}

	/**
	 * @param protectedUser the protectedUser to set
	 */
	public void setProtectedUser(boolean protectedUser) {
		this.protectedUser = protectedUser;
	}

	/**
	 * @return the followersCount
	 */
	public long getFollowersCount() {
		return followersCount;
	}

	/**
	 * @param followersCount the followersCount to set
	 */
	public void setFollowersCount(long followersCount) {
		this.followersCount = followersCount;
	}

	/**
	 * @return the profileBackgroundColor
	 */
	public Color getProfileBackgroundColor() {
		return profileBackgroundColor;
	}

	/**
	 * @param profileBackgroundColor the profileBackgroundColor to set
	 */
	public void setProfileBackgroundColor(Color profileBackgroundColor) {
		this.profileBackgroundColor = profileBackgroundColor;
	}

	/**
	 * @return the profileTextColor
	 */
	public Color getProfileTextColor() {
		return profileTextColor;
	}

	/**
	 * @param profileTextColor the profileTextColor to set
	 */
	public void setProfileTextColor(Color profileTextColor) {
		this.profileTextColor = profileTextColor;
	}

	/**
	 * @return the profileLinkColor
	 */
	public Color getProfileLinkColor() {
		return profileLinkColor;
	}

	/**
	 * @param profileLinkColor the profileLinkColor to set
	 */
	public void setProfileLinkColor(Color profileLinkColor) {
		this.profileLinkColor = profileLinkColor;
	}

	/**
	 * @return the profileSidebarFillColor
	 */
	public Color getProfileSidebarFillColor() {
		return profileSidebarFillColor;
	}

	/**
	 * @param profileSidebarFillColor the profileSidebarFillColor to set
	 */
	public void setProfileSidebarFillColor(Color profileSidebarFillColor) {
		this.profileSidebarFillColor = profileSidebarFillColor;
	}

	/**
	 * @return the profileSidebarBorderColor
	 */
	public Color getProfileSidebarBorderColor() {
		return profileSidebarBorderColor;
	}

	/**
	 * @param profileSidebarBorderColor the profileSidebarBorderColor to set
	 */
	public void setProfileSidebarBorderColor(Color profileSidebarBorderColor) {
		this.profileSidebarBorderColor = profileSidebarBorderColor;
	}

	/**
	 * @return the followingsCount
	 */
	public long getFollowingsCount() {
		return followingsCount;
	}

	/**
	 * @param followingsCount the followingsCount to set
	 */
	public void setFollowingsCount(long followingsCount) {
		this.followingsCount = followingsCount;
	}

	/**
	 * @return the createdAt
	 */
	public Date getCreatedAt() {
		return createdAt;
	}

	/**
	 * @param createdAt the createdAt to set
	 */
	public void setCreatedAt(Date createdAt) {
		this.createdAt = createdAt;
	}

	/**
	 * @return the notifications
	 */
	public boolean isNotifications() {
		return notifications;
	}

	/**
	 * @param notifications the notifications to set
	 */
	public void setNotifications(boolean notifications) {
		this.notifications = notifications;
	}

	/**
	 * @return the statusesCount
	 */
	public long getStatusesCount() {
		return statusesCount;
	}

	/**
	 * @param statusesCount the statusesCount to set
	 */
	public void setStatusesCount(long statusesCount) {
		this.statusesCount = statusesCount;
	}
}